home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / commodore-scene-files / Seriousutility / Compresion / TOOLS.D81 / disk cracker hd (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  6.4 KB  |  190 lines

  1. 0 DV%=PEEK(186):IFDV%<7ORDV%>32THENINPUT"[147][196]RIVE [196]EVICE # ";DV%:POKE186,DV%:RUN
  2. 1 GOTO3
  3. 2 SYS51119:W$=CHR$(PEEK(3))+CHR$(PEEK(4)):RETURN
  4. 3 IFPEEK(51603)<>96THENLOAD"4.0 ASM/MONITOR ",DV%,1
  5. 4 DIMC$(20),M$(14):DATA"","[157]","","[145]","",+,-,@,W,T,R,J,B,M,I,O,X,U,D,Q
  6. 5 FORC=1TO20:READC$(C):NEXT:N=14:FORC=1TON:READM$(C):NEXT:SD$="  0"
  7. 6 T$="                                       ":P=1305:T=18:S=0:GOSUB166
  8. 7 GETA$:IFA$="R"THEN70
  9. 8 IFA$="I"THEN134
  10. 9 IFA$="U"ORA$="D"THENGOSUB181:GOTO7
  11. 10 IFA$="Q"THEN190
  12. 11 GOTO7
  13. 12 TI$="000000"
  14. 13 Q1=Q1+128:IFQ1>255THENQ1=Q1-256
  15. 14 POKEP,Q1:FORC=1TO25:GETA$:IFA$<>""THEN17
  16. 15 IFTI>500THENGOSUB108:GOTO13
  17. 16 NEXT:GOTO13
  18. 17 IFTI>500THENPRINT""T$;:POKE2023,32
  19. 18 TI$="000000":I=0:FORC=1TO20:IFA$<>C$(C)THENNEXT:GOTO13
  20. 19 POKEP,Q
  21. 20 ONCGOTO21,26,30,34,38,67,74,44,46,54,70,77,127,131,134,140,160,187,187,190
  22. 21 REM ** CURSOR RIGHT **
  23. 22 D=37:IFY=6THEND=27
  24. 23 IFX<DTHENX=X+1:GOTO41
  25. 24 IFX=DTHENX=0:IFY<6THENY=Y+1:GOTO41
  26. 25 Y=0:GOTO41
  27. 26 REM ** CURSOR LEFT **
  28. 27 IFX>0THENX=X-1:GOTO41
  29. 28 X=37:IFY>0THENY=Y-1:GOTO41
  30. 29 X=27:Y=6:GOTO41
  31. 30 REM ** CURSOR DOWN **
  32. 31 D=6:IFX>27THEND=5
  33. 32 IFY<DTHENY=Y+1:GOTO41
  34. 33 Y=0:GOTO41
  35. 34 REM ** CURSOR UP **
  36. 35 D=6:IFX>27THEND=5
  37. 36 IFY>0THENY=Y-1:GOTO41
  38. 37 Y=D:GOTO41
  39. 38 REM ** CURSOR HOME **
  40. 39 X=0:Y=0
  41. 40 REM
  42. 41 POKEP,Q:P=1305+Y*40+X:Q=PEEK(P):Q1=Q
  43. 42 P1=Y*38+X:POKE2,P1:GOSUB2:PRINT"[159]"TAB(18)"$"W$
  44. 43 POKE2,Q:GOSUB2:PRINTTAB(28)"[145]$"W$:GOTO12
  45. 44 REM ** CHANGE BYTE **
  46. 45 PRINT""TAB(28)"";:V=Q:L=3:GOSUB83:Q=V:GOTO41
  47. 46 REM ** REWRITE BLOCK **
  48. 47 IFOPTHEN12
  49. 48 GOSUB159:PRINT""TAB(10)"[193]RE [217]OU [211][213][210][197] ([158][217][146]/[158][206][146]) [164][157]";
  50. 49 GETA$:IFA$="N"THENPRINTA$:GOTO61
  51. 50 IFA$<>"Y"THEN49
  52. 51 PRINTA$:OPEN15,DV%,15:OPEN5,DV%,5,"#":PRINT#15,"B-P:5,0"
  53. 52 SYS50927:PRINT#15,"U2:";5;0;T;S:INPUT#15,A$,B$,C$,D$:IFVAL(A$)<>0THEN104
  54. 53 PRINT#15,"I":CLOSE5:CLOSE15:GOTO61
  55. 54 REM ** TEXT MODE **
  56. 55 GOSUB159:PRINT""TAB(6)"([200]IT [210][197][212][213][210][206] TO END [212]EXT [205]ODE)[158]"
  57. 56 Q1=Q1+128:IFQ1>255THENQ1=Q1-256
  58. 57 POKEP,Q1:FORC=1TO55:GETA$:IFA$<>""THEN59
  59. 58 NEXT:GOTO56
  60. 59 IFA$<>CHR$(13)THEN62
  61. 60 POKEP,Q
  62. 61 GOSUB157:GOTO41
  63. 62 POKEP,ASC(A$):D=37:IFY=6THEND=27
  64. 63 IFX<DTHENX=X+1:GOTO66
  65. 64 IFX=DTHENX=0:IFY<6THENY=Y+1:GOTO66
  66. 65 Y=0
  67. 66 P=1305+Y*40+X:Q=PEEK(P):Q1=Q:GOTO56
  68. 67 REM ** FORWARD 1 BLOCK **
  69. 68 GOSUB159:IFOPTHENMB=MB+1:SYS50889:GOTO136
  70. 69 S=S+1:GOTO101
  71. 70 REM ** NEW BLOCK **
  72. 71 GOSUB159:OP=0:SYS50889:PRINT""TAB(10)"[212][210][193][195][203]:    [211][197][195][212][207][210]:   "
  73. 72 PRINT""TAB(16)"";:V=T:L=2:GOSUB83:T=V
  74. 73 PRINTTAB(27);:V=S:L=2:GOSUB83:S=V:OPEN1,DV%,15:PRINT#1,"I"SD$:CLOSE1:GOTO101
  75. 74 REM ** BACKWARD 1 BLOCK **
  76. 75 GOSUB159:IFOPTHENMB=MB-1:SYS50889:GOTO136
  77. 76 S=S-1:GOTO101
  78. 77 REM ** JUMP LINK **
  79. 78 IFOPTHEN12
  80. 79 GOSUB159:T=PEEK(P):D=37:IFY=6THEND=27:IFX=DTHENS=PEEK(1305):GOTO101
  81. 80 IFX=DTHENS=PEEK(P+3):GOTO101
  82. 81 S=PEEK(P+1):GOTO101
  83. 82 REM
  84. 83 PRINTLEFT$("[159]    ",L+3);LEFT$("[157][157][157][157]",L+2);:FORC=0TO2:T$(C)="":NEXT:W=0:V1=0
  85. 84 PRINT"[146]";:F=NOTF:IFFTHENPRINT"";
  86. 85 PRINT" [157]";:FORC=1TO55:GETA$:IFA$<>""THENPRINT"[146] [157]";:GOTO87
  87. 86 NEXT:GOTO84
  88. 87 IFA$=CHR$(20)THENIFW>0THENPRINT"[157] [157]";:W=W-1:T$(W)=""
  89. 88 IFA$=CHR$(13)THEN94
  90. 89 IFA$="$"ANDW=0THEN93
  91. 90 IF(A$<"0"ORA$>"9")AND(A$<"A"ORA$>"F")THEN84
  92. 91 IFA$>"@"THENA$=CHR$(ASC(A$)+128)
  93. 92 IFW>LTHEN84
  94. 93 T$(W)=A$:W=W+1:PRINT"[146]"A$;:GOTO84
  95. 94 IFT$(0)=""THENRETURN
  96. 95 V=0:L=0:IFT$(0)="$"THENT$(0)="":L=-1
  97. 96 A$="":FORC=0TOW-1:A$=A$+T$(C):NEXT:A$=RIGHT$("0000"+A$,5):IFLTHEN98
  98. 97 FORC=0TO3:V=V+(10^C)*VAL(MID$(A$,5-C,1)):NEXT:RETURN
  99. 98 FORC=0TO1:FORW=0TO1:POKE2+W,ASC(MID$(A$,(4-(C*2))+W,1)):NEXT
  100. 99 SYS51150:V=V+(256^C)*PEEK(4):NEXT:RETURN
  101. 100 REM
  102. 101 SYS50889:GOSUB158:PRINTTAB(10)"[212][210][193][195][203]:[159]   [157][157][157][157]"TTAB(20)"[211][197][195][212][207][210]:   [157][157][157][157][159]"S
  103. 102 OPEN15,DV%,15:OPEN5,DV%,5,"#":PRINT#15,"U1:";5;0;T;S:INPUT#15,A$,B$,C$,D$
  104. 103 IFVAL(A$)=0THENSYS50843:P=1305:Q=PEEK(P):X=0:Y=0:CLOSE5:CLOSE15:GOTO41
  105. 104 PRINT"";:FORX=1TO4:PRINT"                                        ";:NEXT
  106. 105 PRINT"[158][196][201][211][203] [197][210][210][207][210]:":PRINT""A$","B$","C$","D$:CLOSE5:CLOSE15
  107. 106 GETA$:IFA$=""THEN106
  108. 107 RUN
  109. 108 W=W+1:IFW<1THENRETURN
  110. 109 W=0:IFZ=0THENZ=1:I=0:M$=T$+M$(1)+M$(2)+T$
  111. 110 I=I+1:IFI<=138THEN112
  112. 111 I=1:Z=Z+2:M$=T$+M$(Z)+M$(Z+1)+T$:TI$="000000":IFZ>N-2THENZ=0:GOTO109
  113. 112 PRINT"[158]";
  114. 113 PRINTMID$(M$,I,39);:RETURN
  115. 114 DATA"                                              "
  116. 115 DATA"                                                  "
  117. 116 DATA "                                            "
  118. 117 DATA "                                        "
  119. 118 DATA"                                                "
  120. 119 DATA"                                                  "
  121. 120 DATA"                                            "
  122. 121 DATA"                                                   "
  123. 122 DATA"                                          "
  124. 123 DATA"                                                      "
  125. 124 DATA"                                                "
  126. 125 DATA"                                                  "
  127. 126 DATA" "," "
  128. 127 GOSUB159:GOSUB156:PRINT"[158][194][204][207][195][203] [197][216][197][195][213][212][197][159]:  TRACK- ";:V=0:L=1:GOSUB83:T2=V
  129. 128 IFT2=0THEN155
  130. 129 PRINT", SECTOR- ";:V=0:L=1:GOSUB83:S2=V:OPEN15,DV%,15:OPEN5,DV%,5,"#"
  131. 130 PRINT#15,"B-E:";5;0;T2;S2:CLOSE5:CLOSE15:GOTO155
  132. 131 GOSUB156:PRINT"[158][205][197][205][207][210][217] [197][216][197][195][213][212][197][159]:  ADDRESS- ";:V=-1:L=4:GOSUB83:IFV=-1THEN155
  133. 132 HB=INT(V/256):LB=V-256*HB:OPEN15,DV%,15
  134. 133 PRINT#15,"M-E"CHR$(LB)CHR$(HB):CLOSE15:GOTO155
  135. 134 GOSUB159:SYS50889:PRINT""TAB(10)"  [153][205][197][205][207][210][217] [194][204][207][195][203]: [159]";
  136. 135 V=MB:L=2:GOSUB83:MB=V
  137. 136 POKE2,MB:GOSUB2:PRINT"[159]"TAB(26)"$"W$
  138. 137 OP=-1:OPEN5,DV%,15:PRINT#5,"M-R"CHR$(0)CHR$(MB)CHR$(0)
  139. 138 SYS50843:CLOSE5:P=1305:Q=PEEK(P):X=0:Y=0:GOTO41
  140. 139 PRINT"[159]   [157][157][157]"TAB(25);MB:GOTO41
  141. 140 IFNOTOPTHEN12
  142. 141 PRINT""TAB(10)"[193]RE [217]OU [211][213][210][197] ([158][217][146]/[158][206][146])? [164][157]";
  143. 142 GETA$:IFA$="N"THENPRINTA$"[145]":GOTO155
  144. 143 IFA$<>"Y"THEN142
  145. 144 PRINTA$:GOSUB156:PRINT"[158][208][207][211][201][212][201][207][206]:  [159]START- ";:V=0:L=2:GOSUB83:P1=V
  146. 145 PRINT", END- ";:V=255:L=2:GOSUB83:P2=V
  147. 146 POKE2,P1:GOSUB2:PRINT:PRINTTAB(11)"[145]START- $"W$", END- $";
  148. 147 POKE2,P2:GOSUB2:PRINTW$"      [145]":OPEN5,DV%,15:POKE51024,MB
  149. 148 FORC=P1TOP2STEP32
  150. 149 W=32:IFC+32>P2THENW=1+P2-C
  151. 150 PX=1305+(INT(C/38)*2)+C
  152. 151 PH=INT(PX/256):PL=PX-(PH*256)
  153. 152 POKE51023,C:POKE51025,W:POKE251,PL:POKE252,PH:POKE3,C-(INT(C/38)*38)
  154. 153 SYS50973
  155. 154 NEXT
  156. 155 CLOSE5:PRINT:GOTO61
  157. 156 PRINT"                                  [145]":RETURN
  158. 157 PRINT"[145]              [195]OMMAND [205]ENU            ":RETURN
  159. 158 PRINT""TAB(10)"[212][210][193][195][203]:    [211][197][195][212][207][210]:  [145]":RETURN
  160. 159 PRINT"[159]"TAB(18)"    [157][157][157][157]":PRINTTAB(28)"[145]    [157][157][157][157]":RETURN
  161. 160 PRINT""
  162. 161 FORC=1TO5:PRINT"                                       ":NEXT
  163. 162 POKE2,P1:GOSUB2:PRINT"[159][145][145] D [195]0"W$"[145][145][145][145][145]"
  164. 163 SYS51035:SYS51181:GOSUB166:SYS51077:P=1305:Q=PEEK(P):X=0:Y=0:IFOPTHEN165
  165. 164 GOSUB158:PRINTTAB(10)"[212][210][193][195][203]:[159]   [157][157][157][157]"TTAB(20)"[211][197][195][212][207][210]:   [157][157][157][157][159]"S:GOTO41
  166. 165 POKE2,MB:GOSUB2:PRINT""TAB(10)"  [153][205][197][205][207][210][217] [194][204][207][195][203]: [159]$"W$:GOTO41
  167. 166 POKE53280,11:POKE53281,0:PRINT"[147]"TAB(11)"[158][196][201][211][203] [195][210][193][195][203][197][210] 4.2[200][196]"
  168. 167 PRINTTAB(19)"BY":PRINTTAB(14)"[205]IKE [202]. [200]ENRY"
  169. 168 PRINTTAB(9)"[176][192][192][192][192][153][208][193][210][212][201][212][201][207][206]:"SD$"[192][192][192][192][174]":PRINTTAB(9)"[221]"SPC(21)"[221]"
  170. 169 PRINT"[176][192][192][192][192][192][192][192][192][189][154][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][173][192][192][192][192][192][192][192][174]";
  171. 170 FORC=1TO6:PRINT"[221][153]                                      [146][221]";:NEXT
  172. 171 PRINT"[221][153]                            [146]:::[176][192][192][192][192][192][192][189]";
  173. 172 PRINT"[173][192][192][192][192][192][192][192][174][154][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][221]"
  174. 173 PRINTTAB(8)"[221]POSITION:     BYTE:    [221]"
  175. 174 PRINTTAB(8)"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]"
  176. 175 PRINTTAB(14)"[158][195]OMMAND [205]ENU":PRINTTAB(14)"[163][163][163][163][163][163][163][163][163][163][163][163]"
  177. 176 PRINT" [158][210][146]/[158][215][146])[159] [210]/[215] [194]LOCK        [158][202][146])[159] [202]UMP [204]INK"
  178. 177 PRINT"   [158]@[146])[159] [195]HANGE [194]YTE      [158][212][146])[159] [212]EXT [211]TRING"
  179. 178 PRINT" [158][201][146]/[158][207][146])[159] [205]EMORY [210]/[215]     [158][194][146]/[158][205][146])[159] [194]LK/[205]EM [197]XEC"
  180. 179 PRINT" [158]+[146]/[158]-[146])[159] [198]/[194] [194]LK OR [205]EM   [158][216][146])[159] [194]REAK TO [205]ON"
  181. 180 PRINT" [158][213][146]/[158][196][146])[159] [208]ARTITION [213]/[196]    [158][209][146])[159] [197]XIT TO [194][193][211][201][195]":SYS50889:RETURN
  182. 181 IFA$="U"THENSD=SD+1:IFSD=255THENSD=1
  183. 182 IFA$="D"THENSD=SD-1:IFSD=0THENSD=254
  184. 183 OPEN15,DV%,15:PRINT#15,"C[208]"+CHR$(SD):INPUT#15,ER
  185. 184 CLOSE15:IFER=77THENGOTO181
  186. 185 SD$=RIGHT$(" "+STR$(SD),3)
  187. 186 PRINT"":PRINTTAB(24)""SD$:RETURN
  188. 187 GOSUB181:GOTO12
  189. 190 PRINT"[147]":END
  190.